// http://campus.58.com/jobs.html
// 北京五八信息技术有限公司

var url = "http://campus.58.com/jobs.html";

var spider = require('../../dao/node.spider');
var cheerio = require('cheerio');
var url_node = require('url');
var Iconv = require('iconv-lite');
var pinyin = require('node-pinyin');
var insertDB = require('../../dao/insert.db');
var utils = require('../../dao/utils');
var request = require('request');
var fs = require('fs');


function jsonp(data) {
    return data;
}

var url2 = "http://rms.chinahr.com/api/job/list?token=93810150-13f0-4261-a34d-a48d7741c7e9&jobLabel=5a93c83bedec7a0a15048a20,5a93c870edec7a0a15048a22&callback=jsonp&_=1520472164061";

// getDetail(url2,function(){});
module.exports = function (callback) {

    getDetail(url2, callback);

};

/*
request({ url: url, encoding: null }, function (err, res, body) {

    var urlObj = url_node.parse(url);
    var protocol = urlObj.protocol;
    var hostname = urlObj.hostname;

    var host = protocol + "//" + hostname;

    var res;
    try {
        res = body.toString('utf-8');
    } catch (e) {


    }
    console.log(res);

    var $ = cheerio.load(res);

    var lis = $(".content-list a");

    for (var i = 0; i < lis.length; i++) {
        var item = lis.eq(i);

        var _url = host + item.attr('href') + "?callback=jsonp";
        console.log(_url);

        getDetail(_url);
    }


});
*/

function getDetail(url,callback) {
    request({ url: url, encoding: null }, function (err, res, body) {
        var res;
        try {
            res = body.toString('utf-8');
        } catch (e) {


        }
        // console.log(res);

        var lists = eval(res);

        lists = lists['retMsg'];

        for (var t = 0; t < lists.length; t++) {
            var obj = lists[t];


            var workp = obj.workPlaceList;

            var city = [];
            var address = [];
            for (var i = 0; i < workp.length; i++) {
                city.push(workp[i]['city']);

                address.push(workp[i]['city'] + "-" + workp[i]['area']);
            }
            city = city.join(',');
            address = address.join(',');
            var data = {
                "url": "http://campus.58.com/detail.html?id=" + obj.id,  // jd详情页的地址
                'edu': obj.education, // 最低学历
                'exp': [], // 所需工作经验，比如[3,5]表示3到5年,[3]表示3年，[]表示无经验要求
                'name': obj.name, // 职位名称*
                'date': new Date(obj.createTime), // 职位发布日期，字符串形式即可，后期统一转换
                'lang': '', // 对语言的要求
                'place': address, // 办公具体地址
                'major': '', // 专业要求
                'count': obj.recruitNumber, // 招聘数量
                'salary': obj.salary ? obj.salary : [], // 薪资待遇，[5000,8000]表示月薪5到8千，[4000]表示4千，[]表示没有写明
                'toSchool': true, // 是否是面向校园招聘，本次官网抓取一律都是校园招聘，所以此处都是True
                'welfare': [], // 福利待遇，比如五险一金、十三薪之类的，保存成数组
                'funType': '', // 职能类型，比如证券经纪人是证券/期货/外汇经纪人
                'company': obj.companyName, // 企业名称
                'location': city, // 所在城市
                'industry': '',// 企业所在行业
                'keywords': [], // 此岗位的搜索关键字 
                'platform': 'offical',// 针对官网抓取时此处一律保存为offical
                'searchKeyword': '',// 搜索的关键字，由于是官网抓取所以此处一律为空字符串
                'description': obj.jobDesc,// 职位的详细描述，包括职责、要求之类的
                'subIndustry': '',// 一律为空字符串
                'stime': new Date() // 抓取时间
            };

            insertDB(data);

        }

        setTimeout(()=>{
            callback(null,'');
            callback =function(){};
        },2000);
    });
}